package common.fengkai.filepost.bean.pgbean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class WatermarkSealInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WatermarkSealInfoExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSealInfoIdIsNull() {
            addCriterion("seal_info_id is null");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdIsNotNull() {
            addCriterion("seal_info_id is not null");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdEqualTo(String value) {
            addCriterion("seal_info_id =", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdNotEqualTo(String value) {
            addCriterion("seal_info_id <>", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdGreaterThan(String value) {
            addCriterion("seal_info_id >", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdGreaterThanOrEqualTo(String value) {
            addCriterion("seal_info_id >=", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdLessThan(String value) {
            addCriterion("seal_info_id <", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdLessThanOrEqualTo(String value) {
            addCriterion("seal_info_id <=", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdLike(String value) {
            addCriterion("seal_info_id like", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdNotLike(String value) {
            addCriterion("seal_info_id not like", value, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdIn(List<String> values) {
            addCriterion("seal_info_id in", values, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdNotIn(List<String> values) {
            addCriterion("seal_info_id not in", values, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdBetween(String value1, String value2) {
            addCriterion("seal_info_id between", value1, value2, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealInfoIdNotBetween(String value1, String value2) {
            addCriterion("seal_info_id not between", value1, value2, "sealInfoId");
            return (Criteria) this;
        }

        public Criteria andSealNameIsNull() {
            addCriterion("seal_name is null");
            return (Criteria) this;
        }

        public Criteria andSealNameIsNotNull() {
            addCriterion("seal_name is not null");
            return (Criteria) this;
        }

        public Criteria andSealNameEqualTo(String value) {
            addCriterion("seal_name =", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameNotEqualTo(String value) {
            addCriterion("seal_name <>", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameGreaterThan(String value) {
            addCriterion("seal_name >", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameGreaterThanOrEqualTo(String value) {
            addCriterion("seal_name >=", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameLessThan(String value) {
            addCriterion("seal_name <", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameLessThanOrEqualTo(String value) {
            addCriterion("seal_name <=", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameLike(String value) {
            addCriterion("seal_name like", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameNotLike(String value) {
            addCriterion("seal_name not like", value, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameIn(List<String> values) {
            addCriterion("seal_name in", values, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameNotIn(List<String> values) {
            addCriterion("seal_name not in", values, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameBetween(String value1, String value2) {
            addCriterion("seal_name between", value1, value2, "sealName");
            return (Criteria) this;
        }

        public Criteria andSealNameNotBetween(String value1, String value2) {
            addCriterion("seal_name not between", value1, value2, "sealName");
            return (Criteria) this;
        }

        public Criteria andIobsKeyIsNull() {
            addCriterion("iobs_key is null");
            return (Criteria) this;
        }

        public Criteria andIobsKeyIsNotNull() {
            addCriterion("iobs_key is not null");
            return (Criteria) this;
        }

        public Criteria andIobsKeyEqualTo(String value) {
            addCriterion("iobs_key =", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyNotEqualTo(String value) {
            addCriterion("iobs_key <>", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyGreaterThan(String value) {
            addCriterion("iobs_key >", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyGreaterThanOrEqualTo(String value) {
            addCriterion("iobs_key >=", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyLessThan(String value) {
            addCriterion("iobs_key <", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyLessThanOrEqualTo(String value) {
            addCriterion("iobs_key <=", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyLike(String value) {
            addCriterion("iobs_key like", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyNotLike(String value) {
            addCriterion("iobs_key not like", value, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyIn(List<String> values) {
            addCriterion("iobs_key in", values, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyNotIn(List<String> values) {
            addCriterion("iobs_key not in", values, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyBetween(String value1, String value2) {
            addCriterion("iobs_key between", value1, value2, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andIobsKeyNotBetween(String value1, String value2) {
            addCriterion("iobs_key not between", value1, value2, "iobsKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyIsNull() {
            addCriterion("seal_key is null");
            return (Criteria) this;
        }

        public Criteria andSealKeyIsNotNull() {
            addCriterion("seal_key is not null");
            return (Criteria) this;
        }

        public Criteria andSealKeyEqualTo(String value) {
            addCriterion("seal_key =", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyNotEqualTo(String value) {
            addCriterion("seal_key <>", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyGreaterThan(String value) {
            addCriterion("seal_key >", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyGreaterThanOrEqualTo(String value) {
            addCriterion("seal_key >=", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyLessThan(String value) {
            addCriterion("seal_key <", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyLessThanOrEqualTo(String value) {
            addCriterion("seal_key <=", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyLike(String value) {
            addCriterion("seal_key like", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyNotLike(String value) {
            addCriterion("seal_key not like", value, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyIn(List<String> values) {
            addCriterion("seal_key in", values, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyNotIn(List<String> values) {
            addCriterion("seal_key not in", values, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyBetween(String value1, String value2) {
            addCriterion("seal_key between", value1, value2, "sealKey");
            return (Criteria) this;
        }

        public Criteria andSealKeyNotBetween(String value1, String value2) {
            addCriterion("seal_key not between", value1, value2, "sealKey");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdIsNull() {
            addCriterion("business_system_id is null");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdIsNotNull() {
            addCriterion("business_system_id is not null");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdEqualTo(String value) {
            addCriterion("business_system_id =", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdNotEqualTo(String value) {
            addCriterion("business_system_id <>", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdGreaterThan(String value) {
            addCriterion("business_system_id >", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdGreaterThanOrEqualTo(String value) {
            addCriterion("business_system_id >=", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdLessThan(String value) {
            addCriterion("business_system_id <", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdLessThanOrEqualTo(String value) {
            addCriterion("business_system_id <=", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdLike(String value) {
            addCriterion("business_system_id like", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdNotLike(String value) {
            addCriterion("business_system_id not like", value, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdIn(List<String> values) {
            addCriterion("business_system_id in", values, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdNotIn(List<String> values) {
            addCriterion("business_system_id not in", values, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdBetween(String value1, String value2) {
            addCriterion("business_system_id between", value1, value2, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andBusinessSystemIdNotBetween(String value1, String value2) {
            addCriterion("business_system_id not between", value1, value2, "businessSystemId");
            return (Criteria) this;
        }

        public Criteria andColorIsNull() {
            addCriterion("color is null");
            return (Criteria) this;
        }

        public Criteria andColorIsNotNull() {
            addCriterion("color is not null");
            return (Criteria) this;
        }

        public Criteria andColorEqualTo(String value) {
            addCriterion("color =", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotEqualTo(String value) {
            addCriterion("color <>", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThan(String value) {
            addCriterion("color >", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThanOrEqualTo(String value) {
            addCriterion("color >=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThan(String value) {
            addCriterion("color <", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThanOrEqualTo(String value) {
            addCriterion("color <=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLike(String value) {
            addCriterion("color like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotLike(String value) {
            addCriterion("color not like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorIn(List<String> values) {
            addCriterion("color in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotIn(List<String> values) {
            addCriterion("color not in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorBetween(String value1, String value2) {
            addCriterion("color between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotBetween(String value1, String value2) {
            addCriterion("color not between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andDateCreatedIsNull() {
            addCriterion("date_created is null");
            return (Criteria) this;
        }

        public Criteria andDateCreatedIsNotNull() {
            addCriterion("date_created is not null");
            return (Criteria) this;
        }

        public Criteria andDateCreatedEqualTo(Date value) {
            addCriterion("date_created =", value, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedNotEqualTo(Date value) {
            addCriterion("date_created <>", value, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedGreaterThan(Date value) {
            addCriterion("date_created >", value, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedGreaterThanOrEqualTo(Date value) {
            addCriterion("date_created >=", value, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedLessThan(Date value) {
            addCriterion("date_created <", value, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedLessThanOrEqualTo(Date value) {
            addCriterion("date_created <=", value, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedIn(List<Date> values) {
            addCriterion("date_created in", values, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedNotIn(List<Date> values) {
            addCriterion("date_created not in", values, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedBetween(Date value1, Date value2) {
            addCriterion("date_created between", value1, value2, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andDateCreatedNotBetween(Date value1, Date value2) {
            addCriterion("date_created not between", value1, value2, "dateCreated");
            return (Criteria) this;
        }

        public Criteria andCreatedByIsNull() {
            addCriterion("created_by is null");
            return (Criteria) this;
        }

        public Criteria andCreatedByIsNotNull() {
            addCriterion("created_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedByEqualTo(String value) {
            addCriterion("created_by =", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotEqualTo(String value) {
            addCriterion("created_by <>", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByGreaterThan(String value) {
            addCriterion("created_by >", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByGreaterThanOrEqualTo(String value) {
            addCriterion("created_by >=", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLessThan(String value) {
            addCriterion("created_by <", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLessThanOrEqualTo(String value) {
            addCriterion("created_by <=", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLike(String value) {
            addCriterion("created_by like", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotLike(String value) {
            addCriterion("created_by not like", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByIn(List<String> values) {
            addCriterion("created_by in", values, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotIn(List<String> values) {
            addCriterion("created_by not in", values, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByBetween(String value1, String value2) {
            addCriterion("created_by between", value1, value2, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotBetween(String value1, String value2) {
            addCriterion("created_by not between", value1, value2, "createdBy");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedIsNull() {
            addCriterion("date_updated is null");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedIsNotNull() {
            addCriterion("date_updated is not null");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedEqualTo(Date value) {
            addCriterion("date_updated =", value, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedNotEqualTo(Date value) {
            addCriterion("date_updated <>", value, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedGreaterThan(Date value) {
            addCriterion("date_updated >", value, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedGreaterThanOrEqualTo(Date value) {
            addCriterion("date_updated >=", value, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedLessThan(Date value) {
            addCriterion("date_updated <", value, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedLessThanOrEqualTo(Date value) {
            addCriterion("date_updated <=", value, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedIn(List<Date> values) {
            addCriterion("date_updated in", values, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedNotIn(List<Date> values) {
            addCriterion("date_updated not in", values, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedBetween(Date value1, Date value2) {
            addCriterion("date_updated between", value1, value2, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andDateUpdatedNotBetween(Date value1, Date value2) {
            addCriterion("date_updated not between", value1, value2, "dateUpdated");
            return (Criteria) this;
        }

        public Criteria andUpdatedByIsNull() {
            addCriterion("updated_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedByIsNotNull() {
            addCriterion("updated_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedByEqualTo(String value) {
            addCriterion("updated_by =", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByNotEqualTo(String value) {
            addCriterion("updated_by <>", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByGreaterThan(String value) {
            addCriterion("updated_by >", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByGreaterThanOrEqualTo(String value) {
            addCriterion("updated_by >=", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByLessThan(String value) {
            addCriterion("updated_by <", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByLessThanOrEqualTo(String value) {
            addCriterion("updated_by <=", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByLike(String value) {
            addCriterion("updated_by like", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByNotLike(String value) {
            addCriterion("updated_by not like", value, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByIn(List<String> values) {
            addCriterion("updated_by in", values, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByNotIn(List<String> values) {
            addCriterion("updated_by not in", values, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByBetween(String value1, String value2) {
            addCriterion("updated_by between", value1, value2, "updatedBy");
            return (Criteria) this;
        }

        public Criteria andUpdatedByNotBetween(String value1, String value2) {
            addCriterion("updated_by not between", value1, value2, "updatedBy");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}